#!/usr/bin/env node

// 🚀 URL更新脚本 - 一键更新所有API地址
// 使用方法：node scripts/update-url.js [新的URL]

const fs = require('fs')
const path = require('path')

// 获取命令行参数
const newUrl = process.argv[2]

if (!newUrl) {
  console.log('❌ 请提供新的URL地址')
  console.log('📝 使用方法: node scripts/update-url.js https://your-new-url.com')
  process.exit(1)
}

// 验证URL格式
try {
  new URL(newUrl)
} catch (error) {
  console.log('❌ URL格式不正确:', newUrl)
  process.exit(1)
}

// 全局配置文件路径
const globalConfigPath = path.join(__dirname, '../config/global.js')

try {
  // 读取全局配置文件
  let configContent = fs.readFileSync(globalConfigPath, 'utf8')
  
  // 使用正则表达式替换API_BASE_URL
  const urlRegex = /(API_BASE_URL:\s*')([^']+)(')/
  const match = configContent.match(urlRegex)
  
  if (match) {
    const oldUrl = match[2]
    configContent = configContent.replace(urlRegex, `$1${newUrl}$3`)
    
    // 写回文件
    fs.writeFileSync(globalConfigPath, configContent, 'utf8')
    
    console.log('✅ URL更新成功!')
    console.log(`📍 旧URL: ${oldUrl}`)
    console.log(`🎯 新URL: ${newUrl}`)
    console.log('')
    console.log('🔄 请重启开发服务器以应用新配置:')
    console.log('   npm run serve')
    
  } else {
    console.log('❌ 未找到API_BASE_URL配置')
  }
  
} catch (error) {
  console.log('❌ 更新失败:', error.message)
  process.exit(1)
} 